package voxToolkit;

import grafico.ControleEventos;
import grafico.Fabrica;

import javax.swing.JButton;
import java.awt.Color;
import javax.swing.Icon;
import javax.swing.ImageIcon;

import main.Contexto;

import java.io.IOException;

public class VoxButton extends JButton 
{
	static final long serialVersionUID = 1;

	private String nome;
	private JButton reverso;
	private String rotulo;

	public String getNome() 
	{
		return nome;
	}
	
	public String getRotulo(){
		return rotulo;
	}
	
	/**
	 * Retorna o reverso do botão.
	 * @return
	 */
	public JButton getReverso() 
	{
		return reverso;
	}

	public void setReverso(JButton rev) 
	{
		reverso = rev;
	}
	
	public void reverte()
	{
		if ( reverso != null )
		{
			reverso.setVisible(true);
			reverso.requestFocus();
			setVisible(false);
		}
	}

	/**
	 * Cria um objeto com uma imagem e um tooltip com o texto
	 * contido em "dica"
	 * @param imagem
	 * @param dica
	 */
	public VoxButton( String imagem, String dica ) 
	{
		rotulo = dica;
		
		VoxButtonEvent voxButtonEvent;
		voxButtonEvent = VoxButtonEvent.instancia();
		Contexto contexto = Contexto.instancia();
		
		Icon figura = new ImageIcon( contexto.getDirImagem() + imagem + ".gif" );
		
		nome = imagem;
		reverso = null;
		
		setIcon(figura);
		
		setBorderPainted(true);
		setBorder(FabricaVoxToolkit.bordaEscura);
		setFocusPainted(true);
		setBackground(new Color(51, 51, 102));
		setPreferredSize(FabricaVoxToolkit.dimensaoBotao);		
		setMinimumSize(FabricaVoxToolkit.dimensaoBotao);
		setMaximumSize(FabricaVoxToolkit.dimensaoBotao);
		setToolTipText(FabricaVoxToolkit.criaToolTip(dica));

		addFocusListener(voxButtonEvent);
		addMouseListener(voxButtonEvent);
				
		}
	
}
